草庐IT

C++ make_shared 不可用

全部标签

c# - 用户 (IPrincipal) 在使用 Web Api 2.1 和 Owin 的 ApiController 构造函数上不可用

我将WebApi2.1与Asp.NetIdentity2一起使用。我试图在我的ApiController的构造函数上获取经过身份验证的用户(我正在使用AutoFac注入(inject)我的依赖项),但是当构造函数是打电话。我正在尝试获取用户,以便为任何数据库写入操作生成审计信息。我正在做的一些事情可以帮助诊断:我正在使用仅app.UseOAuthBearerTokens作为Asp.NetIdentity2的身份验证。这意味着我删除了app.UseCookieAuthentication(newCookieAuthenticationOptions())当您使用Asp.NetIdenti

c# - 在不可预知的时间禁用和再次启用控件时维护 Tab 键顺序

所以让我警告你;我正在寻求一种方法来使整个hack工作更好一些。我承认这是一个hack,当然对整个问题的不同看法持开放态度。也就是说,如果我想截断代码并且我们有一个有点激进的发布日期,我需要尽快得到这个。因此,我无法立即进行大的更改,但我可以轻松地为该软件的第一个补丁进行更改。因此,欢迎短期和长期解决方案,但更可取的是短期解决方案(如果可能)。好的,问题来了;我有一个向机器人硬件设备发送命令的应用程序。发送需要等待的命令后(例如,需要未知时间量的物理运动),UI会进入“忙碌状态”。发生这种情况时,所有会发出另一个阻塞命令的控件都将被禁用,因为机器无法处理它们。当UI退出繁忙状态时,所有

c# - 控制台在类库 c# 中不可用

这个问题here似乎与我所经历的相反。我无法从新类库中访问控制台。我在顶部有usingSystem;。我在Windows8上使用visualstudio11。我怀疑这在更新中丢失了,所以这意味着我做错了什么。此外,一旦这一切正常,控制台是否可以在可移植类库中使用?编辑这里只是我做的一个测试文件usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceAdamLib.util.ConsoleSupport{classS

c# - Visual Studio IIS HTTP 503 服务不可用

我搜索了每个主题,似乎每个人都已经解决了问题,我已经尝试了他们提供的所有可能的解决方案,或者我仍然遗漏了一些东西。防火墙已经关闭。好的,所以我正在尝试访问当前由VS2013运行的IIS服务器应用程序。更新2。当我尝试访问http://localhost:29790/http://192.168.1.3:29790这是我当前在本地的IP。它给我503错误。我已经搜索了解决方案并给出了我的大量信息。应用程序主机配置文件我试过了。*:29790:**:29790::29790:通过链接绑定(bind)。但它仍然无法正常工作。我也重新启动PC或VS。但问题是,当我尝试重新打开VS时。VS覆盖a

c# - 为什么 long 和 decimal 之间的 Equals 不可交换?

我在linqpad中运行了这段代码:longx=long.MaxValue;decimaly=x;x.Dump();y.Dump();(x==y).Dump();(y==x).Dump();Object.Equals(x,y).Dump();Object.Equals(y,x).Dump();x.Equals(y).Dump();y.Equals(x).Dump();它产生这个输出:92233720368547758079223372036854775807TrueTrueFalseFalseFalseTrue请注意最后两行:x.Equals(y)为假,但y.Equals(x)为真。因

c# - .NET 将不可打印的 ASCII 替换为十六进制代码的字符串表示形式

我有一个字符串,里面有一些不可打印的ascii字符,比如:"ABCD\x09\x05\r\n"我想用十六进制代码数字的ascii字符串表示替换这些字符,所以我得到如下内容:"ABCD[09][05][0D][0A]"最好的方法是什么?可以使用正则表达式吗? 最佳答案 模式\p{Cc}匹配任何控制字符,所以Regex.Replace(input,@"\p{Cc}",a=>string.Format("[{0:X2}]",(byte)a.Value[0]));也将替换控制字符。 关于c#-.

c# - MemoryCache.Default 在 .NET Core 中不可用?

我正在将一些代码从.NET4.6移植到.NETCore,但在使用MemoryCache时遇到了一些问题。4.6代码使用MemoryCache.Default来实例化缓存,但这在.NETCore中似乎不可用。在.NETCore中是否有与此等效的东西,或者我应该将自己的MemoryCache更新为单例并通过IOC注入(inject)它? 最佳答案 System.Runtime.Caching.MemoryCache和Microsoft.Extensions.Caching.Memory.MemoryCache是完全不同的实现。它们很相似

C# - 启动不可见进程(CreateNoWindow 和 WindowStyle 不起作用?)

我有2个在.NET中创建的程序(.exe)。我们称他们为主人和worker。Master启动1个或多个Worker。Worker不会与用户交互,但它是一个WinForms应用程序,可以接收命令并根据从Master接收到的命令运行WinForms组件。我希望Worker应用完全隐藏运行(当然除了出现在任务管理器中)。我认为我可以使用StartInfo.CreateNoWindow和StartInfo.WindowStyle属性来完成此操作,但我仍然在窗体中看到Client.exe窗口和组件。但是,它不会显示在任务栏中。Processprocess=newProcess{EnableRai

c# - 协变/逆变 : how to make the following code compile

更新:以下代码仅在C#4.0(VisualStudio2010)中有意义看来我对协变/逆变有一些误解。谁能告诉我为什么以下代码无法编译?publicclassTestOne{publicIEnumerableMethod(IEnumerablevalues)whereTDerived:TBase{returnvalues;}}编译时:(!!!)publicinterfaceIBase{}publicinterfaceIDerived:IBase{}publicclassTestTwo{publicIEnumerableMethod(IEnumerablevalues){returnva

c# - Visual Studio 中的 "Add existing item": is it possible to make "Add as link" default?

正如this中指出的那样因此,VisualStudio中的Add>Existingitem对话框默认显示Add按钮(意味着所选项目将被物理复制到新位置),而理想的操作通常(总是?)添加为链接。是否可以配置VisualStudio,以便在打开添加>现有项目对话框时默认选择添加为链接?我已经彻底搜索了VisualStudio中的Options对话框并检查了MSDN文档以找到对此的答案,但到目前为止无济于事。ProjectLinker当两个新项目要共享同一代码库时,自动链接是一个不错的选择。但是,当将大量文件从现有项目链接到新项目时,似乎仅限于Add>Existingitem方法,而且这项工